package com.jf.cloud.api.user.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @author zz
 */
public class FinanceDetailDTO {

    @Schema(description = "开始时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @Schema(description = "结束时间" )
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @Schema(description = "订单号" )
    private Long orderId;

    /**
     * @see com.jf.cloud.common.constant.PayType
     */
    @Schema(description = "支付方式 -1不限 0积分 1微信 2支付宝..." )
    @NotNull(message = "支付方式不能为空")
    private Integer payType;

    @Schema(description = "语言" )
    private Integer lang;

    @Schema(description = "请求财务类型：1.订单支付 2.退款 3.余额充值 4.会员购买" )
    private Integer financeBizType;

    @Schema(description = "当前页" )
    private Integer pageNum;

    @Schema(description = "每页大小" )
    private Integer pageSize;

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Integer getPayType() {
        return payType;
    }

    public void setPayType(Integer payType) {
        this.payType = payType;
    }

    public Integer getLang() {
        return lang;
    }

    public void setLang(Integer lang) {
        this.lang = lang;
    }

    public Integer getFinanceBizType() {
        return financeBizType;
    }

    public void setFinanceBizType(Integer financeBizType) {
        this.financeBizType = financeBizType;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }


    @Override
    public String toString() {
        return "FinanceDetailDTO{" +
                "startTime=" + startTime +
                ", endTime=" + endTime +
                ", orderId=" + orderId +
                ", payType=" + payType +
                ", lang=" + lang +
                ", financeType=" + financeBizType +
                ", pageNum=" + pageNum +
                ", pageSize=" + pageSize +
                '}';
    }
}
